package com.unisound.tracelog.server.ui.service;

import com.unisound.tracelog.common.model.dto.ResultDTO;
import com.unisound.tracelog.common.model.pojo.PageResult;
import com.unisound.tracelog.server.ui.model.request.MainTraceLogSearchRequest;
import com.unisound.tracelog.server.ui.model.request.TraceLogListPageRequest;
import com.unisound.tracelog.server.ui.model.request.TraceLogSearchChildrenRequest;
import com.unisound.tracelog.server.ui.model.request.TraceLogSearchRequest;
import com.unisound.tracelog.server.ui.model.response.ExportJsonResponse;
import com.unisound.tracelog.server.ui.model.response.TraceLogResponse;

public interface UITraceLogService {
    ResultDTO<PageResult<TraceLogResponse>> searchMain(MainTraceLogSearchRequest request);

    ResultDTO<TraceLogResponse> search(TraceLogSearchRequest request);

    ResultDTO<TraceLogResponse> searchChildren(TraceLogSearchChildrenRequest request);

    ResultDTO<ExportJsonResponse> exportJson(TraceLogSearchRequest request);

    ResultDTO<PageResult<TraceLogResponse>> listPage(TraceLogListPageRequest request);
}
